package com.buddy.syn.method._05;

/**
 * 可重入锁：自己可以再次获取自己内部的锁
 * 如：如果线程A获得了某个对象的锁，此时如果锁对象还没有释放，当其再次想获得这个对象的锁的时候，还是可以获取的
 *
 * 如果不可重入锁的话，会造成死锁
 *
 * 可重入锁也可在父子类继承中
 */
public class Service {

    synchronized public void service1(){
        System.out.println("service1");
        service2();
    }

    synchronized public void service2() {
        System.out.println("service2");
        service3();
    }

    synchronized public void service3() {
        System.out.println("service3");
    }
}
